package com.seari.custody.service;

import com.seari.custody.bean.TechnicalAuditOpinion;
import com.seari.custody.bean.TechnicalFile;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface TechnicalAuditOpinionService {

    /***
     *报审审核技审草稿盖章通过下发技审
     * @param technicalAuditOpinion
     * @return
     * @throws Exception
     */
    Map<String, String>  passTechnical(TechnicalAuditOpinion technicalAuditOpinion) throws Exception;


    /**
     * 添加数据到file表中
     * @param technicalFile
     * @return
     */
    Integer fileInsertTechnical(TechnicalFile technicalFile);


    /**
     * 获取最新的专项保护方案
     * @param map
     * @return
     */
    Map<String, String> specialProtectionPlan(Map<String, String> map);

    /**
     * 技审草稿不通过退回
     * @return
     */
    Map<String, String> sendTechnical(TechnicalAuditOpinion technicalAuditOpinion) throws Exception;

    /**
     * 根据uuid更改技审流程
     * @param map
     * @return
     */
    Integer updateSendTechnical(Map<String, String> map);

    /**
     * 查询最新的用户上传的技审文档
     * @param map
     * @return
     * @throws Exception
     */
    Map<String, String>  latestPermitsAndcomments(Map<String, String> map) throws Exception;

    /**
     * 更新技审核的状态以及加入意见
     * @param map
     * @return
     * @throws Exception
     */
    Integer updateLatestPermits(Map<String, String> map) throws Exception;

    /**
     * 3.2.7.专项保护方案（包含修改后）下发技审
     */
    Map<String, String> updateTechnical(Map<String, String> map1) throws Exception;

    /**
     * 3.2.8.	MMS专项保护方案退回报审
     */
    Map<String, String> sendBackSpecial(Map<String, String> map) throws Exception;

    /**
     * 获取当前的统计的数量
     */
    Map<String,Integer> orderVerdict(Map<String, String> map)throws Exception;


    /**
     * 上传返回状态
     */
    Map<String, String> uploadstatus(TechnicalAuditOpinion technicalAuditOpinion) throws Exception;

    /**
     * 专项保护方案生成档案文件ID
     */

    Map<String, Object> selectStampPdf(Map<String, String> map);
}
